1. Technical Field
The present disclosure relates to simultaneous multi-threaded processing systems in general, and in particular to a method for managing hardware resources and threads in a simultaneous multi-threaded processing system based on static function attributes and sampled heuristics.
2. Description of Related Art
One method of improving the performance of a multi-processor computer system operating under dynamically changing load requirements is through use of multiple processors that share the processing load by executing portions of a computer program or separate computer programs in parallel. In conjunction, the performance of the above-mentioned multi-processor computer system can be enhanced is to have multiple hardware threads executing on each processor where each thread processes a different workload or a different portion of one or more workloads.
A multi-processor computer system having multi-threaded capability can typically be configured to execute in a simultaneous multi-threaded (SMT) mode or a single-threaded (ST) mode during system initiation. Under the SMT mode, the multi-processor computer system is capable of supporting multiple threads being run simultaneously on each processor. On the other hand, under the ST mode, only one hardware thread can be active on each processor.
The present disclosure provides a method for managing program executions between the ST mode and the SMT mode within a multi-processor computer system.